#include"Student.h"
#include"Teacher.h"
#include<stdio.h>
#include<string.h>

// void RemoveByIndex(int*a,int size,int index)
// {
//     for( int i = index ; i < size ; i++ )
//     {
//         a[i] = a[i+1];
//     }
// }

bool IsNameEqual(void*p1,void*p2)
{
    Stu *s= (Stu*)p1;
    const char*str = (const char*)p2;
    return strcmp(s->Name,str) == 0;
}


bool IsIDEqual(void*p1,void*p2)
{
    Stu*s= (Stu *)p1;
    int *id = (int *)p2;
    return s->id == *id;
}


bool IsIDBigger(void*p1,void*p2)
{
    Stu*s= (Stu *)p1;
    int *id = (int *)p2;
    return s->id >= *id;
}

bool IsNameContains(void*p1,void*p2)
{
    Stu*s= (Stu *)p1;
    const char *str= (const char *)p2;
    if(strstr((const char*)(s->Name),str))
        return true;
    else
        return false;
}


int main()
{   
    // int a[5]={1,2,3,4,5}; 
    
    // RemoveByIndex(a,5,2);

    // for (int i = 0; i < 4; i++)
    // {
    //     printf("%d",a[i]);
    // }
    // printf("\n");
    



    Teach t;

    InitTeacher(&t,1,"zhangsan");
    // PrintTeacher(&t);

    AddStudent(&t,1,"wangwu");
    
    AddStudent(&t,2,"赵六");
    AddStudent(&t,2,"li六");
    
    AddStudent(&t,3,"李一");

    // RemoveStudent(&t,2);
    // RemoveStuByName(&t,"li六");

    // RemoveStudent(&t,"李一",IsNameEqual);

    int id = 3 ;
    // RemoveStudent(&t,&id,IsIDEqual);

    RemoveStudent(&t,&id,IsIDBigger);
    
    // Stu*s = FindStudent(&t,"赵六",IsNameEqual);

    // if(s)
    // PrintStu(s);

    RemoveStudent(&t,"赵",IsNameContains);
    PrintTeacher(&t);

    
    return 0;
}
